package tutorial.main.control.widget;


import tutorial.main.R;
import android.appwidget.AppWidgetManager;
import android.widget.RemoteViews;
import android.os.IBinder;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.util.Log;

public class UpdateWidgetService extends Service {
	@Override
	public void onStart(Intent intent, int startId) {
		Log.v("UpdateWidgetService", "Called");
		
		//Obtengo el mensaje enviado por el controlador
		String mensaje=intent.getStringExtra(WidgetControler.MENSAJE_CONEXION);
		String tipoConexion=intent.getStringExtra(WidgetControler.TIPO_CONEXION);
		int sourceImage=intent.getIntExtra(WidgetControler.IMAGEN_CONEXION,0);
		Log.v( "Widget", "sourceImage:"+sourceImage);
		//mensaje = intent.getStringExtra(WidgetControler.MENSAJE_CONEXION);
		Log.v( "Widget", "Wdgt S1");
		AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this.getApplicationContext());
		
		//Obtengo los id de los widgets
		int[] appWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
		Log.v( "Widget", "Wdgt s2");
		if (appWidgetIds.length > 0) {
			Log.v( "Widget", "Wdgt s3");
			for (int widgetId : appWidgetIds) {
				//Obtengo los componentes y los actualizo
				RemoteViews remoteViews = new RemoteViews(getPackageName(),	R.layout.widget);
				remoteViews.setTextViewText(R.id.wdgt_txtEstado, mensaje);
				remoteViews.setTextViewText(R.id.wdgt_txtDescripcion, tipoConexion);
				remoteViews.setImageViewResource(R.id.wdgt_ImgEstado, sourceImage);
				////////////////
				//Asocio el evento de llamada de la aplicacion al widget
				//Intent appIntent = new Intent("WidgetControler.LANZAR_APLICAION");
				//appIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
				 
				//PendingIntent pendingIntent =PendingIntent.getBroadcast(this.getApplicationContext(), widgetId,
				//        appIntent, PendingIntent.FLAG_UPDATE_CURRENT);
				Intent appIntent = new Intent(this.getApplicationContext(), tutorial.main.launch.class);
				PendingIntent pendingIntent = PendingIntent.getActivity(this.getApplicationContext(), 0, appIntent, 0);
				remoteViews.setOnClickPendingIntent(R.id.wdgt_ImgEstado, pendingIntent);
				///////////////////
				appWidgetManager.updateAppWidget(widgetId, remoteViews);
				Log.v( "Widget", "Wdgt s4");
			}
			stopSelf();
		}
		super.onStart(intent, startId);
	}

	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}
}